package com.ybbase.framework.mapper.system;

import com.ybbase.framework.config.mybatisplus.DataPermission;
import com.ybbase.framework.model.po.system.Organization;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ybbase.framework.model.po.system.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 系统机构 Mapper 接口
 * </p>
 *
 * @author cg
 * @since 2019-11-25
 */
public interface OrganizationMapper extends BaseMapper<Organization> {

    /**
     * 根据用户查询组织机构列表
     * @param userId 用户编码
     * @return List<Organization>
     * @author cg
     * @date 2019-11-26 13:54
     * @since cloud2.0
     */
    List<Organization> getOrgListByUserId(Integer userId);
    /**
     * 根据路径查询下钻数据
     * @param
     * @return
     * @author cg
     * @date 2019-12-05 20:59
     * @since cloud2.0
     */
    List<Organization> getOrgListByPath(String path);

    /**
     * 保存角色信息
     * @param
     * @return
     * @author cg
     * @date 2020-01-28 13:09
     * @since cloud2.0
    */
    void saveRole(int organizationId,int roleId);

    /**
     * 根据组织机构编码查询组织机构
     * @param
     * @return
     * @author cg
     * @date 2020-01-28 13:08
     * @since cloud2.0
    */
    List<Role> getOrganRoleById(int organizationId);

    /**
     * 根据组织机构id和角色id删除组织机构信息
     * @param
     * @return
     * @author cg
     * @date 2020-01-28 13:07
     * @since cloud2.0
    */
    void removeRoleById(int organizationId,int roleId);

    /**
     * 根据type获取当前登录人的联社或者网点
     * @param
     * @return
     * @author cg
     * @date 2020-01-28 13:06
     * @since cloud2.0
    */
    List<Organization> getOrgListQuery(@Param(value = "organIds") String[] organIds,int type);
}
